﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace GeracaoArquivoCorretora
{
    public partial class SelecionaEmpresa : Form
    {
        public DataTable dtEmpresas = null;
        public bool criptografado = false;
        public bool Continue = false;
        public string database = string.Empty;

        public SelecionaEmpresa(DataTable dtEmpresas, bool criptografado, string database)
        {
            InitializeComponent();

            this.dtEmpresas = dtEmpresas;
            this.criptografado = criptografado;
            this.database = database;
        }



        private void btnProcessar_Click(object sender, EventArgs e)
        {
            if(cboEmpresa.SelectedItem == null || cboEmpresa.SelectedItem.ToString().Trim() == string.Empty || txtCaminhoArquivo.Text == string.Empty)
            {
                MessageBox.Show("Todos os campos são obrigatórios");
                return;
            }

            
            //pega a empresa selecionada e os dados de conexao
            DataRow[] array =  dtEmpresas.Select(" NM_EMPRESA = '"+cboEmpresa.SelectedItem+"'");

            if(array != null && array.Length > 0)
            {
                string usuario = array[0]["CD_USUA_ORAC"].ToString();
                string senha = array[0]["CD_SENHA_ORAC"].ToString();
                string nome = array[0]["NM_EMPRESA"].ToString();



                string connection_string = "Data Source=" + database + ";User Id=" + usuario + ";Password=" + senha + ";";


                string sql_select_master = @"select cd_cliente_liqfin, dv_cliente_liqfin , cd_corret, dv_corret
from tscclibol , TSCPARM
where cd_cliente_liqfin <> cd_cliente 
group by cd_cliente_liqfin, dv_cliente_liqfin,cd_corret, dv_corret";


                System.Data.OracleClient.OracleDataAdapter adapter_header = new System.Data.OracleClient.OracleDataAdapter(sql_select_master, connection_string);
                DataTable header = new DataTable();
                adapter_header.Fill(header);
                
                adapter_header.Dispose();

                string texto = string.Empty;
                string corret = string.Empty;
                foreach(DataRow dr in header.Rows)
                {
                    string cd_contamaster = dr[0].ToString();
                    string dv_contamaster = dr[1].ToString();
                    string cd_corretora = dr[2].ToString();
                    string dv_corretora = dr[3].ToString();

                    corret = cd_corretora;

                    texto += cd_corretora + ";" + cd_contamaster + ";" + dv_contamaster + ";" + Environment.NewLine;
                }

                System.IO.File.WriteAllText(txtCaminhoArquivo.Text + "//CONTABROKER" + string.Format("{0:00000}", Convert.ToInt32(corret)) + ".csv", texto);

                MessageBox.Show("Arquivo gerado com sucesso!");

                this.Close();
            }
            


            

        }

        private void SelecionaEmpresa_Load(object sender, EventArgs e)
        {
            //pega o DataTable

            foreach(DataRow dr in dtEmpresas.Rows)
            {
                cboEmpresa.Items.Add(dr["NM_EMPRESA"].ToString());
            }
        }

        private void SelecionaEmpresa_FormClosing(object sender, FormClosingEventArgs e)
        {
            Application.Exit();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            folderBrowserDialog1.ShowDialog(this);
            txtCaminhoArquivo.Text = folderBrowserDialog1.SelectedPath;
        }
    }
}
